package site.mingdao.boot.common.biz.log;

import jakarta.validation.Valid;
import org.springframework.scheduling.annotation.Async;
import site.mingdao.boot.common.biz.log.dto.OperateLogDTO;

/**
 * API 访问日志的 API 接口
 */
public interface OperateLogCommonApi {

    /**
     * 创建 API 访问日志
     *
     * @param operationLogDTO 创建信息
     */
    void createOperateLog(@Valid OperateLogDTO operationLogDTO);

    /**
     * 【异步】创建 API 访问日志
     *
     * @param operationLogDTO 访问日志
     */
    @Async
    default void createOperateLogAsync(OperateLogDTO operationLogDTO) {
        createOperateLog(operationLogDTO);
    }

}
